<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        /*
        在 JavaScript 语言中，所有的变量，都可以做为一个 boolean 类型的变量去使用。
        0、null、undefined、""(空串) 都认为是 false；
         */
/*        var a = 0;
        if (a) {
            alert("零为真")
        } else {
            alert("零为假")
        }*/

/*        var b = "";
        if (b) {
            alert("空串为真")
        } else {
            alert("空串为假")
        }*/

        /* && 且运算。
        有两种情况：
        第一种：当表达式全为真的时候。返回最后一个表达式的值。
        第二种：当表达式中，有一个为假的时候。返回第一个为假的表达式的值
         */
        var a = "abc";
        var b = true;
        var d = false;
        var c = null;
        //alert(a && b);//true
        //alert(b && a);//abc
        //alert(a && d);//false
        //alert(a && c)//null
        //alert(a && d && c);//false


        /* || 或运算
        第一种情况：当表达式全为假时，返回最后一个表达式的值
        第二种情况：只要有一个表达式为真。就会返回第一个为真的表达式的值

        并且 && 与运算 和 ||或运算 有短路。
        短路就是说，当这个&&或||运算有结果了之后 。后面的表达式不再执行
        */
        //alert(a || b);//abc
        //alert(b || a);//true
        //alert(a || d);//abc
        //alert(d || c);//null
        //alert(a || d || c);//abc

        //alert(a && b || c);//true
    </script>
</head>
<body>

</body>
</html>